package cn.cjxy.day11springbootdemo2.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 *
 * RESTful规范
 *
 * - 请求方式区别资源
 * - API版本号应该包含在资源路径中，根据企业规范决定
 * - 资源路径只能有名词不能有动词
 * - 数据量大时应该分页进行响应
 *
 *  | 操作    | 请求方式 | 说明                         |
 * | ------- | -------- | ---------------------------- |
 * | C：新增 | POST     | 新增等操作使用POST请求方式   |
 * | R：读取 | GET      | 查询等操作使用GET请求方式    |
 * | U：修改 | PUT      | 修改等操作使用PUT请求方式    |
 * | D：删除 | DELETE   | 删除等操作使用DELETE请求方式 |
 * 传统请求
 * | 请求地址                                   | 操作说明     |
 * | ------------------------------------------ | ------------ |
 * | http://localhost:8080/user/getUsers        | 查询所有用户 |
 * | http://localhost:8080/user/getUser?id=1    | 查询单个用户 |
 * | http://localhost:8080/user/addUser         | 新增用户     |
 * | http://localhost:8080/user/updateUser      | 修改用户     |
 * | http://localhost:8080/user/deleteUser?id=1 | 删除单个用户 |
 *
 * restful风格  以请求方式来区别做什么操作
 * | 请求地址                        | 请求方式 | 操作说明     |
 * | ------------------------------- | -------- | ------------ |
 * | http://localhost:8080/user      | GET      | 查询所有用户 |
 * | http://localhost:8080/user/{id} | GET      | 根据单个用户 |
 * | http://localhost:8080/user      | POST     | 新增用户     |
 * | http://localhost:8080/user      | PUT      | 修改用户     |
 * | http://localhost:8080/user/{id} | DELETE   | 删除单个用户 |
 * @author huangjie
 * @date 2025/10/10
 */
@Controller
@RequestMapping("/rest")
public class RestFulController {
        /**
        * 查询所有
         * http://localhost:8080/rest    get方式请求
        * @return
        */
        @GetMapping
        public  String getAlll(){
            return "查询到了所有------";
        }

    /**
     * http://localhost:8080/rest/3
     * @param id
     * @return
     */
    @GetMapping("/{id}")
         public  String getById(@PathVariable String id){
            return "查询到了单个用户------";
        }

}
